]> dgit.raspbian.org Git - gnome-shell.git/commit
Rework StDrawingArea not to use ClutterCairoTexture
authorOwen W. Taylor <otaylor@fishsoup.net>
Wed, 3 Mar 2010 23:00:05 +0000 (18:00 -0500)
committerOwen W. Taylor <otaylor@fishsoup.net>
Thu, 11 Mar 2010 20:08:48 +0000 (15:08 -0500)
commit33dca51650edc15f9eb7e9bbbc17d9b6a1d873aa
tree1233458c923d9019e92eeb16cf34999e36367338
parent58bb0044b244f16450feef26cb0c8efb62b4bc46
Rework StDrawingArea not to use ClutterCairoTexture

Having StDrawingArea use ClutterCairoTexture causes circularity
problems with sizing - StDrawingArea wants to use its allocation for
the size of the texture, but ClutterTexture wants to use the size of
the texture to determine the requited size.

Avoid this by making StDrawingArea directly use Cairo and CoglTexture;
while doing this, the API is changed a bit for simplicity and to
match our use case:

 - Instead of clutter_cairo_texture_create(), we have
   st_drawing_area_get_context() to retrieve an already created
   context. This can only be called in the ::repaint signal.

 - The ::redraw signal is changed to ::repaint so we can have
   st_drawing_area_queue_repaint() that doesn't collide with
   clutter_actor_queue_redraw()

 - ::repaint is now emitted lazily when painting the actor rather
   than synchronously at various different points.

https://bugzilla.gnome.org/show_bug.cgi?id=611750
js/ui/altTab.js
js/ui/appDisplay.js
js/ui/widget.js
src/shell-drawing.c
src/shell-drawing.h
src/st/st-drawing-area.c
src/st/st-drawing-area.h